/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.aaron.platform.entity;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * the progress of logical site
 * @author chenzhuohua
 */
@Entity
@Table(name = "fgys_site_progress")
@SequenceGenerator(name="FGYS_SITEPROGRESS_GENERATOR", sequenceName="FGYS_SITEPROGRESS_GENERATOR", allocationSize = 1)
@NamedQueries({
    @NamedQuery(name = "FgysSiteProgress.findAll", query = "SELECT f FROM FgysSiteProgress f")})
public class FgysSiteProgress implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO, generator="FGYS_SITEPROGRESS_GENERATOR")
    @Column(name = "site_pro_id")
    private Integer siteProId;

    /** 业主是否落实 */
    @Column(name = "is_permited")
    private boolean permited;

    /** 业主落实时间 */
    @Column(name = "permited_date")
    @Temporal(TemporalType.DATE)
    private Date permitDate;

    /** 方案是否设计 */
    @Column(name = "is_designed")
    private boolean designed;

    /** 方案设计日期 */
    @Column(name = "designed_date")
    @Temporal(TemporalType.DATE)
    private Date designDate;

    /** 系统是否安装 */
    @Column(name = "is_installed")
    private boolean installed;

    /** 系统安装日期 */
    @Column(name = "installed_date")
    @Temporal(TemporalType.DATE)
    private Date installDate;

    /** 是否开通 */
    @Column(name = "is_started")
    private boolean started;

    /** 开通日期 */
    @Column(name = "started_date")
    @Temporal(TemporalType.DATE)
    private Date startDate;

    /** 是否已转资 */
    @Column(name = "is_asseted")
    private boolean asseted;

    /** 转资完成日期 */
    @Column(name = "asseted_date")
    @Temporal(TemporalType.DATE)
    private Date assetDate;

    /** 是否验收交接 */
    @Column(name = "is_transfered")
    private boolean transfered;

    /** 验收交接日期 */
    @Column(name = "transfered_date")
    @Temporal(TemporalType.DATE)
    private Date transferDate;

    /** 决算是否提交 */
    @Column(name = "is_settle_submited")
    private boolean settleSubmited;

    /** 决算提交日期 */
    @Column(name = "settle_submited_date")
    @Temporal(TemporalType.DATE)
    private Date settleSubmitDate;

    /** 审计是否完成 */
    @Column(name = "is_audited")
    private boolean audited;

    /** 审计完成日期 */
    @Column(name = "audited_date")
    @Temporal(TemporalType.DATE)
    private Date auditDate;

    /** 是否已付款 */
    @Column(name = "is_payed")
    private boolean payed;

    /** 付款完成日期 */
    @Column(name = "payed_date")
    @Temporal(TemporalType.DATE)
    private Date payDate;

    /** 集成商信息 */
    @JoinColumn(name = "site_id")
    @OneToOne(cascade = CascadeType.ALL)
    private FgysLogicalSite fgysLogicalSite;

    public Date getAssetDate() {
        return assetDate;
    }

    public void setAssetDate(Date assetDate) {
        this.assetDate = assetDate;
    }

    public boolean isAsseted() {
        return asseted;
    }

    public void setAsseted(boolean asseted) {
        this.asseted = asseted;
    }

    public Date getAuditDate() {
        return auditDate;
    }

    public void setAuditDate(Date auditDate) {
        this.auditDate = auditDate;
    }

    public boolean isAudited() {
        return audited;
    }

    public void setAudited(boolean audited) {
        this.audited = audited;
    }

    public Date getDesignDate() {
        return designDate;
    }

    public void setDesignDate(Date designDate) {
        this.designDate = designDate;
    }

    public boolean isDesigned() {
        return designed;
    }

    public void setDesigned(boolean designed) {
        this.designed = designed;
    }

    public FgysLogicalSite getFgysLogicalSite() {
        return fgysLogicalSite;
    }

    public void setFgysLogicalSite(FgysLogicalSite fgysLogicalSite) {
        this.fgysLogicalSite = fgysLogicalSite;
    }

    public Date getInstallDate() {
        return installDate;
    }

    public void setInstallDate(Date installDate) {
        this.installDate = installDate;
    }

    public boolean isInstalled() {
        return installed;
    }

    public void setInstalled(boolean installed) {
        this.installed = installed;
    }

    public Date getPayDate() {
        return payDate;
    }

    public void setPayDate(Date payDate) {
        this.payDate = payDate;
    }

    public boolean isPayed() {
        return payed;
    }

    public void setPayed(boolean payed) {
        this.payed = payed;
    }

    public Date getPermitDate() {
        return permitDate;
    }

    public void setPermitDate(Date permitDate) {
        this.permitDate = permitDate;
    }

    public boolean isPermited() {
        return permited;
    }

    public void setPermited(boolean permited) {
        this.permited = permited;
    }

    public Date getSettleSubmitDate() {
        return settleSubmitDate;
    }

    public void setSettleSubmitDate(Date settleSubmitDate) {
        this.settleSubmitDate = settleSubmitDate;
    }

    public boolean isSettleSubmited() {
        return settleSubmited;
    }

    public void setSettleSubmited(boolean settleSubmited) {
        this.settleSubmited = settleSubmited;
    }

    public Integer getSiteProId() {
        return siteProId;
    }

    public void setSiteProId(Integer siteProId) {
        this.siteProId = siteProId;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public boolean isStarted() {
        return started;
    }

    public void setStarted(boolean started) {
        this.started = started;
    }

    public Date getTransferDate() {
        return transferDate;
    }

    public void setTransferDate(Date transferDate) {
        this.transferDate = transferDate;
    }

    public boolean isTransfered() {
        return transfered;
    }

    public void setTransfered(boolean transfered) {
        this.transfered = transfered;
    }
}
